package mx.com.theboard.client.notas;


import mx.com.theboard.client.Mensaje;
import mx.com.theboard.client.controllers.NotaController;
import mx.com.theboard.shared.entidades.Nota;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.MouseUpEvent;
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent;
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteHandler;
import com.google.gwt.user.client.ui.FormPanel.SubmitEvent;
import com.google.gwt.user.client.ui.FormPanel.SubmitHandler;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.FileUpload;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.FormPanel;


public class TBNotaArchivo extends TBNota implements ClickHandler,SubmitHandler,SubmitCompleteHandler {
	FormPanel forma;
	FileUpload archivo;
	public TBNotaArchivo(NotaController notacontroller){
		super(notacontroller);
				
		VerticalPanel contenido = super.getContent();
		contenido.setHeight("100px");
		
		VerticalPanel verticalPanel = new VerticalPanel();
		verticalPanel.setStyleName("fondoupload");
		contenido.add(verticalPanel);
		verticalPanel.setWidth("332px");
		
		Label lblEligeUnArchivo = new Label("Elige un archivo a subir:");
		lblEligeUnArchivo.setStyleName("gwt-Label lbeligearchivo");
		verticalPanel.add(lblEligeUnArchivo);
		lblEligeUnArchivo.setSize("297px", "31px");
		
		forma = new FormPanel();
		forma.setEncoding(FormPanel.ENCODING_MULTIPART);
		forma.setMethod(FormPanel.METHOD_POST);
		forma.setAction(GWT.getModuleBaseURL()+"fileupload");
		forma.addSubmitHandler(this);
		forma.addSubmitCompleteHandler(this);

		verticalPanel.add(forma);
		
		archivo = new FileUpload();
		forma.setWidget(archivo);
		archivo.setStyleName("gwt-FileUpload tbupload");
		archivo.setSize("318px", "100%");
		archivo.setName("archivo");
		
		Button subir = new Button("Subir");
		subir.setStyleName("gwt-Button tbsubir");
		subir.addClickHandler(this);
		
		verticalPanel.add(subir);
		verticalPanel.setCellHorizontalAlignment(subir, HasHorizontalAlignment.ALIGN_RIGHT);
		subir.setWidth("99px");
	}
	
	@Override
	public void onClick(ClickEvent event) {
		System.out.print("Click en submit");
		if(!archivo.getFilename().isEmpty()){			
			forma.submit();			
		}else{
			Mensaje m = new Mensaje("Error", "Debes seleccionar un archivo!");
			m.center();
			m.show();
			m.setModal(true);
		}
	}

	@Override
	public void onSubmitComplete(SubmitCompleteEvent event) {
		System.out.println("Ya se subio el archivo"+event.getResults());
		Mensaje m = new Mensaje("Error", "Ya se subio el archivo"+event.getResults()+"-"+event.toString());
		m.center();
		m.show();
		m.setModal(true);
	}

	@Override
	public void onSubmit(SubmitEvent event) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void enabled(boolean enable) {
		// TODO Auto-generated method stub
		
	}
	
	
	@Override
	public void update(Nota nota) {
			
	}
	
	@Override
	public void loadFromNota(Nota nota) {
		// TODO Auto-generated method stub
		
	}

	
	
	
	
}


